package com.wy.timer.impl;

/**
 * @author 美女
 * @date 2022/05/02 23:11
 **/
public abstract class MyTimerTask implements Comparable<MyTimerTask>{
    long runAt;//这个任务应该在何时运行（记录为ms为单位的时间戳）
    abstract void run();//由用户重写，设置成抽象方法即可

    @Override
    public int compareTo(MyTimerTask o) {
        //按runAt进行的比较，更小更靠前，在堆中更能取出来
        //即runAt越小，任务越小
        if(runAt<o.runAt){
            return -1;
        }else if(runAt>o.runAt){
            return 1;
        }else {
            return 0;
        }
    }
}
